package com.yoona.system.service;

import com.yoona.common.response.BaseResponse;
import com.yoona.system.entity.Dynamic;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 动态表 服务类
 * </p>
 *
 * @author yoonada
 * @since 2020-11-03
 */
public interface IDynamicService extends IService<Dynamic> {

    /**
     * 获取个人动态
     * @return
     */
    BaseResponse<List<Dynamic>> personalDynamic();

    /**
     * 获取所有动态
     * @return
     */
    BaseResponse<List<Dynamic>> selectAllDynamicList();

    /**
     * 发布动态
     * @param dynamicContent
     * @param pictureUrl
     * @param avatarUrl
     * @param nickName
     * @return
     */
    BaseResponse<Object> publishDynamic(String dynamicContent, String pictureUrl, String avatarUrl, String nickName);

    /**
     * 根据动态id获取动态详情
     * @param dynamicId
     * @return
     */
    BaseResponse<List<Dynamic>> findDynamicById(String dynamicId);


    /**
     * 删除动态
     * @param dynamicId
     * @return
     */
    BaseResponse<Object> deleteDynamic(String dynamicId);

    /**
     * 分页查询所有动态
     * @param currentPage
     * @param size
     * @return
     */
    BaseResponse<List<Dynamic>> selectAllDynamicListByPage(Integer currentPage, Integer size);
}
